from django.db import models

#django 框架自动封装框架
from django.contrib.auth import get_user_model
# Create your models here.

#获取用户信息
User = get_user_model()
#博客分类
class BlogCategory(models.Model):
    #字段名称 name
    name = models.CharField(max_length=200,verbose_name='名称')
    #下拉框里面选择分类
    def __str__(self):
        return self.name

    class Meta:
        db_table = "blog_category"
        #配置这些是为了让管理端显示中文，就是djangoadmin会自带，增删改查
        verbose_name='分类'
        verbose_name_plural=verbose_name

#博客（文章）
class Blog(models.Model):
      title=models.CharField(max_length=200,verbose_name='标题')
      #设置外键 分类id
      category=models.ForeignKey(BlogCategory,on_delete=models.CASCADE,verbose_name='分类')
      #设置外键 作者id
      author=models.ForeignKey(User,on_delete=models.CASCADE,verbose_name='作者')
      #内容
      content=models.TextField()
      #发布时间
      pub_time=models.DateTimeField(auto_now_add=True,verbose_name='发布时间')
      def __str__(self):
          return self.title
      class Meta:
          db_table = "blog_blog"
          verbose_name='博客内容'
          verbose_name_plural=verbose_name
          #排序?
          ordering=['-pub_time']

class BlogComment(models.Model):
    #评论发布人，访问的用户
    author=models.ForeignKey(User,on_delete=models.CASCADE,verbose_name='评论发布人')
    #内容
    content=models.TextField(verbose_name='内容')
    #博客id  评论的文章
    blog=models.ForeignKey(Blog,on_delete=models.CASCADE,related_name='comments',verbose_name='所属博客')
    #评论发布时间
    pub_time=models.DateTimeField(auto_now_add=True,verbose_name='发布时间')
    def __str__(self):
        return self.content
    class Meta:
        db_table = "blog_comment"
        verbose_name='博客评论'
        verbose_name_plural=verbose_name
        ordering=['-pub_time']
